﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inspire.Entities
{
    public abstract partial class CustomField
    {
        /// <summary>
        /// Used to allow polymorphic return of the data of all Custom Field classes that extend the abstract class CustomField.
        /// </summary>
        /// <returns>(object) The value of this field.</returns>
        public abstract object GetData();

        /// <summary>
        /// Used to allow polymorphic setting of the data value of all Custom Field classes that extend the abstract class CustomField.
        /// </summary>
        /// <param name="data"></param>
        public abstract void SetData(Object data);

        /// <summary>
        /// Used to allow polymorphic returning of the data value of all Custom Field classes that extend the abstract class CustomField.
        /// </summary>
        /// <returns>(string) The value of a field as a string.</returns>
        public abstract override string ToString();
    }
}
